package leetcode_900;

/**
 *@author 周杨
 *MaxIncreaseToKeepCitySkyline_807 从四个方向看这个城市的建筑 问最小能增加多少高度 使看上去的结果不变
 *describe:常规题 AC 71%
 *2018年10月26日 上午9:51:17
 */
public class MaxIncreaseToKeepCitySkyline_807 {
	public int maxIncreaseKeepingSkyline(int[][] grid) {
        int rowMax[]=new int[grid.length];
        int colMax[]=new int[grid[0].length];
        for(int i=0;i<grid.length;++i)
        	for(int j=0;j<grid[0].length;++j) {
        		colMax[j]=Math.max(colMax[j], grid[i][j]);
        		rowMax[i]=Math.max(rowMax[i], grid[i][j]);
        	}
        int res=0;
        for(int i=0;i<grid.length;++i)
        	for(int j=0;j<grid[0].length;++j) {
        		res+=Math.min(colMax[j], rowMax[i])-grid[i][j];
        	}
        return res;
    }
}
